Зміст
Технічне завдання на курсовий проект
Постановка завдання
Основа тіла програми
Блок-схеми
Розрахунок основних параметрів
Дослідження температурних полів
Дослідження середньої температури
Дослідження потоку тепла на кордоні
Розбір практичних прикладів
Висновки
Технічне завдання на курсовий проект
"Розробка комп'ютерної програми на мові Паскаль для проведення простого теплофізичного розрахунку"
Створена діалогова комп'ютерна програма, повинна мати можливість розраховувати для моменту часу (викладеного у варіанті завдання):
- Температурне поле;
- Питома витрата тепла;
- Тепловий потік на поверхні розглянутого тіла.
Комп'ютерна програма повинна мати можливість:
відображати результати в табличному вигляді;
відображати результати в графічному вигляді (сімейство кривих) на екрані комп'ютера;
зберігати отримані результати у зовнішніх файлах.
Вимоги до розрахунків, отриманим за допомогою програми:
вибір параметрів розрахунку повинен здійснюватися на основі бази даних теплофізичних параметрів;
результати розрахунку представляються у розмірному і безрозмірному видах
2. Постановка завдання
Завдання для проведення теплофізичного розрахунку за допомогою програми написаної на мові Pascal
Варіант 20
Температурне поле всередині порожнього циліндра при змішаних граничних умовах другого і третього роду при qv = 0; b = R / R 1 = (R 2 - R 1) / R 1 = k -1; k = R 2 / R 1> 1 і тепловому потоці на внутрішній поверхні труби - експоненціально спадною функції f 1 = exp (- PdF 0); f 2 = T 0 визначається за формулою:
R = R 2 - R 1
де
- приведена температура
- приведена координата
d - коефіцієнт Предводітелева
3. Основа тіла програми
program Program_Oleg;
uses crt;
const
numpar = 10;
numfo = 10;
numx = 21;
type
tmenuarr = array [1 .. 9] of string [20];
var
mas_ip: array [1 .. numpar] of string;
mas_znp: array [1 .. numpar] of string;
mas_rpar: array [1 .. numpar] of string;
mas_otpole: array [1 .. numx] of real;
mas_pole: array [1 .. numfo, 1 .. numx] of real;
mas_xrteplo: array [1 .. numfo] of real;
mas_ptep: array [1 .. numfo] of real;
mas_fur: array [1 .. numfo] of real;
amenu1: tmenuarr;
nmenu1: integer;
procedure f_cont;
var ch: char;
begin
writeln;
writeln;
writeln ('Press any key to continue ...');
ch: = readkey;
clrscr;
end;
procedure menuinit;
begin
amenu1 [1]: = 'Parameters';
amenu1 [2]: = 'Tables';
amenu1 [3]: = 'Curves';
amenu1 [4]: = 'Files';
amenu1 [5]: = 'Quit';
end;
procedure line80 (s: char);
var i: integer;
begin
for i: = 1 to 80 do write (s);
end;
function menusel (menu: tmenuarr; num: integer; namemenu: string): integer;
var
i, ich: integer;
ch: char;
begin
gotoxy (1,23);
line80 ('-');
gotoxy (1,24);
write (namemenu, '>');
for i: = 1 to num do
begin
HighVideo; write (i: 1); NormVideo;
write ('.', menu [i]);
if (i <> num) then write ('|')
end;
repeat
ch: = readkey; ich: = ord (ch) -48;
until + (ich> = 1) and (ich <= num);
menusel: = ich;
end;
procedure viewparam;
var i: integer;
begin
gotoxy (1,1);
line80 ('=');
writeln ('Year: 2006; Course: 2; Groupe: FT-24; Student: Lubichenko Oleg; Project # 1');
line80 ('-');
writeln ('Current parameter''s');
for i: = 1 to numpar do
writeln (mas_ip [i]: 10, '=', mas_znp [i]: 10);
end;
procedure pr_ps;
begin
clrscr;
write ('Setup Parameters');
f_cont;
end;
procedure pr_tabl;
begin
clrscr;
write ('Print tables');
f_cont;
end;
procedure pr_graf;
begin
clrscr;
write ('Output curves');
f_cont;
end;
procedure pr_vf;
begin
clrscr;
write ('Output to files');
f_cont;
end;
procedure pr_exit;
begin
clrscr;
write ('Output to file of config''s');
f_cont;
end;
procedure pr_nz;
var
i: integer;
s: string;
begin
for i: = 1 to numpar do
begin
str (i, s);
mas_ip [i]: = 'Par_' + s;
mas_znp [i]: = s;
end;
end;
begin
clrscr;
menuinit;
pr_nz;
viewparam;
repeat
nmenu1: = menusel (amenu1, 5, 'Main');
case nmenu1 of
1: pr_ps;
2: pr_tabl;
3: pr_graf;
4: pr_vf;
5: pr_exit;
end;
viewparam;
until nmenu1 = 5;
end.
4. Блок-схеми
Спрощена блок-схема:
Дана блок-схема відображає основні дії, які може відтворювати програма.
Детальна блок-схема:
Дана блок-схема відображає алгоритм дії програми.
5. Розрахунок основних параметрів
Нижче наведений один з модулів програми, що дозволяє визначити і розрахувати параметри необхідні для вирішення поставленого завдання теплофізичного розрахунку.
function exp0 (x: real): real;
begin
if x <-20.0 then
exp0: = 0.0e0
else
exp0: = exp (x);
end;
procedure o_schet;
var
i, j: integer;
valcode: integer;
po, m, am, tc, t0, r, qv, lam, fo, x, tm, de, he, tm100, tm095, p1: real;
begin
m: = 0;
if o_parcal [2] = 'Cylinder' then m: = 1;
if o_parcal [2] = 'Ball' then m: = 2;
am: = (m +1) * (m +5) / 2;
val (o_parcal [9], qv, valcode);
val (o_parcal [7], t0, valcode);
val (o_parcal [6], tc, valcode);
val (o_parcal [5], lam, valcode);
val (o_parcal [8], r, valcode);
val (o_parcal [3], de, valcode);
val (o_parcal [4], he, valcode);
writeln ('am =', am: 5:2, 'qv =', qv: 5:2, o_razm [9], 'r =', r: 5:2, o_razm [8]);
writeln ('de =', de: 5:2, o_razm [3], 'he =', he: 5:2, o_razm [4]);
writeln ('t0 =', t0: 5:2, o_razm [7], 'tc =', tc: 5:2, o_razm [6], 'lam =', lam: 5:2, o_razm [5]) ;
po: = qv * r * r / lam / (tc-t0);
k: = R2/R1
Bi: = 2;
fo: = 0.1;
R1: = 0.1;
R2: = 0.12;
Pd: = 5;
writeln ('Po =', po: 12:5);
for i: = 1 to numfo do begin
fo: = o_Fur [i];
x: = 1.0;
tm100: = exp0 (-Pd * fo )*((( Bi +1) / Bi)-x) + (A3 * exp0 (-Afo) - ((A2-A3) / A-Pd) * exp (-A * fo)-exp0 (-Pd * fo ))*((( Bi +2) / Bi)-x * x);
A: = ((10 * Bi) / D) * (Bi * (3 * k +1) +12 * k);
A2: = 20 * (k-1) * Bi * (Bi +3) * D ^ (-1);
A3: = (1 / (2 * D)) * (Bi * Bi * (7 * k +18) +5 * Bi * (7 * k +13) +60 * (k +1));;
tm100: = abs (round (tm100 * 10000) / 10000.0);
x: = 0.95;
tm095: = exp0 (-Pd * fo )*((( Bi +1) / Bi)-x) + (A3 * exp0 (-Afo) - ((A2-A3) / A-Pd) * exp (-A * fo)-exp0 (-Pd * fo ))*((( Bi +2) / Bi)-x * x);
A: = ((10 * Bi) / D) * (Bi * (3 * k +1) +12 * k);
A2: = 20 * (k-1) * Bi * (Bi +3) * D ^ (-1);
A3: = (1 / (2 * D)) * (Bi * Bi * (7 * k +18) +5 * Bi * (7 * k +13) +60 * (k +1));;
tm095: = abs (round (tm095 * 10000) / 10000.0);
o_rptngt [i]: =- lam * (t0-tc) * (tm100-tm095) / r/0.05;
for j: = 1 to numx do begin
x: = o_pwtp [j];
o_masF [i, j]: = exp0 (-Pd * fo )*((( Bi +1) / Bi)-x) + (A3 * exp0 (-Afo) - ((A2-A3) / A-Pd) * exp (-A * fo)-exp0 (-Pd * fo ))*((( Bi +2) / Bi)-x * x);
A: = ((10 * Bi) / D) * (Bi * (3 * k +1) +12 * k);
A2: = 20 * (k-1) * Bi * (Bi +3) * D ^ (-1);
A3: = (1 / (2 * D)) * (Bi * Bi * (7 * k +18) +5 * Bi * (7 * k +13) +60 * (k +1));;
o_masF [i, j]: = abs (round (o_masF [i, j] * 10000) / 10000.0);
end;
end;
p1: = o_rptngt [1]; if abs (p1) <1e-6 then p1: = 1;
for i: = 1 to numfo do
o_rptngt1 [i]: = o_rptngt [i] / p1;
if m = 0 then begin
for i: = 1 to numfo do begin
tm: = o_masF [i, 1] + o_masF [i, numx];
for j: = 2 to numx-1 do
if (j mod 2) = 0 then
tm: = tm +4 * o_masF [i, j]
else
tm: = tm +2 * o_masF [i, j];
tm: = tm / 3 / (numx-1);
tm: = abs (round (tm * 1000) / 1000.0);
o_masrf 1 [i]: = abs (tm);
tm: = tm * (t0-tc) + tc;
o_masrf 2 [i]: = tm;
o_masrf [i]: = he * de * (tm-t0);
end;
end;
if m = 1 then begin
for i: = 1 to numfo do begin
tm: = o_masF [i, 1] * 2 * o_pwtp [1] + o_masF [i, numx] * 2 * o_pwtp [numx];
for j: = 2 to numx-1 do
if (j mod 2) = 0 then
tm: = tm +4 * o_masF [i, j] * 2 * o_pwtp [j]
else
tm: = tm +2 * o_masF [i, j] * 2 * o_pwtp [j];
tm: = tm / 3 / (numx-1);
tm: = abs (round (tm * 1000) / 1000.0);
o_masrf 1 [i]: = tm;
tm: = tm * (t0-tc) + tc;
o_masrf 2 [i]: = tm;
o_masrf [i]: = he * de * (tm-t0);
end;
end;
if m = 2 then
begin
for i: = 1 to numfo do
begin
tm: = o_masF [i, 1] * 3 * o_pwtp [1] * o_pwtp [1] + o_masF [i, numx] * 3 * o_pwtp [numx] * o_pwtp [numx];
for j: = 2 to numx-1 do
if (j mod 2) = 0 then
tm: = tm +4 * o_masF [i, j] * 3 * o_pwtp [j] * o_pwtp [j]
else
tm: = tm +2 * o_masF [i, j] * 3 * o_pwtp [j] * o_pwtp [j];
tm: = tm / 3 / (numx-1);
tm: = round (tm * 1000) / 1000.0;
o_masrf 1 [i]: = tm;
tm: = tm * (t0-tc) + tc;
o_masrf 2 [i]: = tm;
o_masrf [i]: = he * de * (tm-t0);
end;
end;
end;
6. Дослідження температурних полів
1. Введіть Ваше прізвище та ім'я
Любіченко Олег
2. Введіть номер варіанта завдання
20
3. Введіть номер навчальної групи
ФТ-24
4. Введіть поточний рік
2006
5. Для вашого варіанту як веде себе температурне поле зі зростанням числа Фур'є?
З ростом числа Фур'є температура падає
6. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
Tables: Teta-temperatures
# R / Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0 10.0 50.0 100.0
-------------------------------------------------- --------------------
1. 0.00 2.48 2.32 2.03 1.60 1.43 0.84 0.19 0.02 0.00 0.00
2. 0.02 2.46 2.30 2.02 1.59 1.42 0.84 0.18 0.02 0.00 0.00
3. 0.04 2.44 2.28 2.00 1.57 1.40 0.83 0.18 0.02 0.00 0.00
7. Залежно від геометрії тіла температурне поле при фіксованих інших параметрах веде себе таким чином.
З ростом до температура падає
8. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
до = 0,15
Tables: Teta-temperatures
# R / Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0 10.0 50.0 100.0
-------------------------------------------------- --------------------
1. 0.00 2.48 2.32 2.03 1.60 1.43 0.84 0.19 0.02 0.00 0.00
2. 0.02 2.46 2.30 2.02 1.59 1.42 0.84 0.18 0.02 0.00 0.00
k = 1.0
Tables: Teta-temperatures
# R / Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0 10.0 50.0 100.0
-------------------------------------------------- --------------------
1 0.00 2,43 2,11 1,51 0,52 0,12 1,22 1,91 0.02 0.00 0.00
2 0.02 2,42 2,09 1,49 0,51 0,11 1,22 1,91 0.02 0.00 0.00
9. Як веде себе температурне поле як функція числа Померанцева?
У завданні немає числа Померанцева
10. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
11. Для вашого варіанту як веде себе температурне поле зі зростанням числа Біо?
З ростом числа Біо температура зменшується
12. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
Bi = 2
Tables: Teta-temperatures
# R / Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0 - -------------------------------------- ------------
1. 0.00 2,43 2,11 1,51 0,52 0,12 1,22 1,91
2. 0.02 2,42 2,09 1,49 0,51 0,11 1,22 1,91
Bi = 3
Tables: Teta-temperatures
# R / Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0
-------------------------------------------------- -
1. 0.00 2,12 1,80 1,24 0,32 0,04 1,17 1,44
2. 0.02 2,10 1,79 1,22 0,31 0,05 1,18 1,44
13. Для вашого варіанту як веде себе температурне поле зі зростанням числа Предводітелева?
З ростом числа Предводітелева температура зменшується
14. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
Pd = 0.5
Tables: Teta-temperatures
# R / Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0 - -------------------------------------- -------------
1. 0.00 2,43 2,11 1,51 0,52 0,12 1,22 1,91
2. 0.02 2,42 2,09 1,49 0,51 0,11 1,22 1,91
Pd = 0.8
Tables: Teta-temperatures
# R / Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0
-------------------------------------------------- -
1. 0.00 2.36 1.97 1.29 0.27 0.11 1,17 1,26
2. 0.02 2,34 1,28 1,28 0,26 0,12 1,18 1,26
15. Для вашого варіанта вкажіть інтервал значень параметра Фур'є, при яких спостерігається залежність температурного поля від координат.
0.1-50
16. Для вашого варіанту як веде себе температурне поле зі зростанням числа Кирпичова?
Числа Кирпичова немає
17. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
7. Дослідження середньої температури
1. Введіть Ваше прізвище та ім'я
Любіченко Олег
2. Введіть номер варіанта завдання
20
3. Введіть номер навчальної групи
ФТ-24
4. Введіть поточний рік
2006
5. Для вашого варіанту як веде себе середня температура з зростанням числа Фур'є?
З ростом числа Фур'є СР т. зменшується
6. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
Tables: Heat spend
# Fo Qv, 10 ^ 8
1. 0.1 2.4827
2. 0.2 1.4474
3. 0.4 -0.3610
4. 0.8 -3.0923
5. 1.0 -2.7040
6. 2.0 0.0817
7. 5.0 0.1601
8. 10.0 -1.9548
9. 50.0 -3.4056
10. 100.0 -3.4056
7. Залежно від геометрії тіла середня температура при фіксованих інших параметрах веде себе таким чином.
Зі зростанням діаметра СР т. зменшується
8. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
k = 0.15
Tables: Heat spend
# Fo Qv, 10 ^ 8
1. 0.1 2.847
2. 0.2 2.533
3. 0.4 1.954
k = 1.0
Tables: Heat spend
# Fo Qv, 10 ^ 8
1. 0.1 2.669
2. 0.2 2.781
3. 0.4 1.668
9. Як веде себе середня температура як функція числа Померанцева?
Ні числа Померанцева
10. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
11. Для вашого варіанту як веде себе середня температура з зростанням числа Біо?
З ростом числа Біо СР т. зменшується
12. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
Bi = 2
Tables: Heat spend
# Fo Qv, 10 ^ 8
1. 0.1 2.669
2. 0.2 2.781
3. 0.4 1.668
Bi = 3
Tables: Heat spend
# Fo Qv, 10 ^ 8
1. 0.1 1.597
2. 0.2 0.779
3. 0.4 -0.694
13. Для вашого варіанту як веде себе середня температура з зростанням числа Предводітелева?
З ростом числа Предводітелева СР т. зменшується
14. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
Pd = 0.5
Tables: Heat spend
# Fo Qv, 10 ^ 8
1. 0.1 1.597
2. 0.2 0.779
3. 0.4 -0.694
Pd = 0.8
Tables: Heat spend
# Fo Qv, 10 ^ 8
1. 0.1 1.4405
2. 0.2 0.5040
3. 0.4 -1.117
15. Для вашого варіанта вкажіть інтервал значень параметра Фур'є, при яких спостерігається залежність середньої температури як функції часу.
0,1-100
16. Для вашого варіанту як веде себе середня температура з зростанням числа Кирпичова?
Ні числа Кирпичова
17. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
8. Дослідження потоку тепла на кордоні
1. Введіть Ваше прізвище та ім'я
Любіченко Олег
2. Введіть номер варіанта завдання
20
3. Введіть номер навчальної групи
ФТ-24
4. Введіть поточний рік
2006
5. Для вашого варіанту як веде себе потік на поверхні з ростом числа Фур'є?
За умовами задачі потік дорівнює 0
6. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
# Fo P, 10 ^ 6 P / P [Fo [1]]
1. 0.1 0.0000
2. 0.2 0.0000
3. 0.4 0.0000
4. 0.8 0.0000
5. 1.0 0.0000
6. 2.0 0.0000
7. 5.0 0.0000
8. 10.0 0.0000
9. 50.0 0.0000
10.100.0 0.0000
7. Залежно від геометрії тіла потік на поверхні при фіксованих інших параметрах веде себе таким чином.
За умовами задачі потік дорівнює 0
8. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
# Fo P, 10 ^ 6 P / P [Fo [1]]
1. 0.1 0.0000
2. 0.2 0.0000
3. 0.4 0.0000
4. 0.8 0.0000
5. 1.0 0.0000
6. 2.0 0.0000
7. 5.0 0.0000
8. 10.0 0.0000
9. 50.0 0.0000
10.100.0 0.0000
9. Як веде себе потік на поверхні як функція числа Померанцева?
За умовами задачі потік дорівнює 0
10. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
11. Для вашого варіанту як веде себе потік на поверхні з ростом числа Біо?
За умовами задачі потік дорівнює 0
12. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
# Fo P, 10 ^ 6 P / P [Fo [1]]
1. 0.1 0.0000
2. 0.2 0.0000
3. 0.4 0.0000
4. 0.8 0.0000
5. 1.0 0.0000
13. Для вашого варіанту як веде себе потік на поверхні з ростом числа Предводітелева?
За умовами задачі потік дорівнює 0
14. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
# Fo P, 10 ^ 6 P / P [Fo [1]]
1. 0.1 0.0000
2. 0.2 0.0000
3. 0.4 0.0000
4. 0.8 0.0000
5. 1.0 0.0000
6. 2.0 0.0000
7. 5.0 0.0000
8. 10.0 0.0000
9. 50.0 0.0000
10.100.0 0.0000
15. Для вашого варіанта вкажіть інтервал значень параметра Фур'є, при яких спостерігається залежність потоку на поверхні як функції часу.
За умовами задачі потік дорівнює 0
16. Для вашого варіанту як веде себе потік на поверхні з ростом числа Кирпичова?
За умовами задачі потік дорівнює 0
17. На доказ відповіді на попереднє запитання я можу навести такі табличні залежності.
9. Розбір практичних прикладів
1. Введіть Ваше прізвище та ім'я
Любіченко Олег
2. Введіть номер варіанта завдання
20
3. Введіть номер навчальної групи
ФТ-24
4. Введіть поточний рік
2006
5. Вважаючи, що фізична система описується рівняннями вашого варіанту, оцініть час протікання процесу в секундах (хвилинах, годинах, добі). При цьому надлишкова температура дорівнює 1000 Цельсія, товщина тіла 50 см. Розгляньте варіанти того, що тіло складається з міді, заліза, цегли.
для міді більше 30 годин, для заліза близько 15 діб, для цегли близько 297,5 діб
6. Якщо ваш варіант завдання описує тіла різної геометрії, вирішите попередню завдання для тіл різної геометрії.
10. Висновки
У ході розробки комп'ютерної програми, для вирішення завдання теплофізичного розрахунку, були придбані важливі знання та навички. А також отриманий додатковий досвід роботи з програмним середовищем Pascal. Результатами роботи стала програма, що має можливість розраховувати температурне поле, питома витрата тепла, тепловий потік на поверхні розглянутого тіла, а також містить у собі наступні функції: відображення результатів у табличному вигляді, відображення результатів у графічному вигляді (сімейство кривих) на екрані комп'ютера, збереження отриманих результатів у зовнішні файли.
Список літератури
Титаренко М. Г. Робота з програмним середовищем Pascal / / Прагма 2008, іл.
Томпсон Р. Основи диференціального програмування. - М.: Полюс, 2005, - 302с.
Тарковський Д.Л. Обчислювальні машини. - М.: Піренс, 2002,-461с.